2 research outputs found

    Serverless Strategies and Tools in the Cloud Computing Continuum

    Full text link
    Tesis por compendio[ES] En los 煤ltimos a帽os, la popularidad de la computaci贸n en nube ha permitido a los usuarios acceder a recursos de c贸mputo, red y almacenamiento sin precedentes bajo un modelo de pago por uso. Esta popularidad ha propiciado la aparici贸n de nuevos servicios para resolver determinados problemas inform谩ticos a gran escala y simplificar el desarrollo y el despliegue de aplicaciones. Entre los servicios m谩s destacados en los 煤ltimos a帽os se encuentran las plataformas FaaS (Funci贸n como Servicio), cuyo principal atractivo es la facilidad de despliegue de peque帽os fragmentos de c贸digo en determinados lenguajes de programaci贸n para realizar tareas espec铆ficas en respuesta a eventos. Estas funciones son ejecutadas en los servidores del proveedor Cloud sin que los usuarios se preocupen de su mantenimiento ni de la gesti贸n de su elasticidad, manteniendo siempre un modelo de pago por uso de grano fino. Las plataformas FaaS pertenecen al paradigma inform谩tico conocido como Serverless, cuyo prop贸sito es abstraer la gesti贸n de servidores por parte de los usuarios, permiti茅ndoles centrar sus esfuerzos 煤nicamente en el desarrollo de aplicaciones. El problema del modelo FaaS es que est谩 enfocado principalmente en microservicios y tiende a tener limitaciones en el tiempo de ejecuci贸n y en las capacidades de computaci贸n (por ejemplo, carece de soporte para hardware de aceleraci贸n como GPUs). Sin embargo, se ha demostrado que la capacidad de autoaprovisionamiento y el alto grado de paralelismo de estos servicios pueden ser muy adecuados para una mayor variedad de aplicaciones. Adem谩s, su inherente ejecuci贸n dirigida por eventos hace que las funciones sean perfectamente adecuadas para ser definidas como pasos en flujos de trabajo de procesamiento de archivos (por ejemplo, flujos de trabajo de computaci贸n cient铆fica). Por otra parte, el auge de los dispositivos inteligentes e integrados (IoT), las innovaciones en las redes de comunicaci贸n y la necesidad de reducir la latencia en casos de uso complejos han dado lugar al concepto de Edge computing, o computaci贸n en el borde. El Edge computing consiste en el procesamiento en dispositivos cercanos a las fuentes de datos para mejorar los tiempos de respuesta. La combinaci贸n de este paradigma con la computaci贸n en nube, formando arquitecturas con dispositivos a distintos niveles en funci贸n de su proximidad a la fuente y su capacidad de c贸mputo, se ha acu帽ado como continuo de la computaci贸n en la nube (o continuo computacional). Esta tesis doctoral pretende, por lo tanto, aplicar diferentes estrategias Serverless para permitir el despliegue de aplicaciones generalistas, empaquetadas en contenedores de software, a trav茅s de los diferentes niveles del continuo computacional. Para ello, se han desarrollado m煤ltiples herramientas con el fin de: i) adaptar servicios FaaS de proveedores Cloud p煤blicos; ii) integrar diferentes componentes software para definir una plataforma Serverless en infraestructuras privadas y en el borde; iii) aprovechar dispositivos de aceleraci贸n en plataformas Serverless; y iv) facilitar el despliegue de aplicaciones y flujos de trabajo a trav茅s de interfaces de usuario. Adem谩s, se han creado y adaptado varios casos de uso para evaluar los desarrollos conseguidos.[CA] En els 煤ltims anys, la popularitat de la computaci贸 al n煤vol ha perm猫s als usuaris accedir a recursos de c貌mput, xarxa i emmagatzematge sense precedents sota un model de pagament per 煤s. Aquesta popularitat ha propiciat l'aparici贸 de nous serveis per resoldre determinats problemes inform脿tics a gran escala i simplificar el desenvolupament i desplegament d'aplicacions. Entre els serveis m茅s destacats en els darrers anys hi ha les plataformes FaaS (Funcions com a Servei), el principal atractiu de les quals 茅s la facilitat de desplegament de petits fragments de codi en determinats llenguatges de programaci贸 per realitzar tasques espec铆fiques en resposta a esdeveniments. Aquestes funcions s贸n executades als servidors del prove茂dor Cloud sense que els usuaris es preocupen del seu manteniment ni de la gesti贸 de la seva elasticitat, mantenint sempre un model de pagament per 煤s de gra fi. Les plataformes FaaS pertanyen al paradigma inform脿tic conegut com a Serverless, el prop貌sit del qual 茅s abstraure la gesti贸 de servidors per part dels usuaris, permetent centrar els seus esfor莽os 煤nicament en el desenvolupament d'aplicacions. El problema del model FaaS 茅s que est脿 enfocat principalment a microserveis i tendeix a tenir limitacions en el temps d'execuci贸 i en les capacitats de computaci贸 (per exemple, no t茅 suport per a maquinari d'acceleraci贸 com GPU). Tot i aix貌, s'ha demostrat que la capacitat d'autoaprovisionament i l'alt grau de paral路lelisme d'aquests serveis poden ser molt adequats per a m茅s aplicacions. A m茅s, la seva inherent execuci贸 dirigida per esdeveniments fa que les funcions siguen perfectament adequades per ser definides com a passos en fluxos de treball de processament d'arxius (per exemple, fluxos de treball de computaci贸 cient铆fica). D'altra banda, l'auge dels dispositius intel路ligents i integrats (IoT), les innovacions a les xarxes de comunicaci贸 i la necessitat de reduir la lat猫ncia en casos d'煤s complexos han donat lloc al concepte d'Edge computing, o computaci贸 a la vora. L'Edge computing consisteix en el processament en dispositius propers a les fonts de dades per millorar els temps de resposta. La combinaci贸 d'aquest paradigma amb la computaci贸 en n煤vol, formant arquitectures amb dispositius a diferents nivells en funci贸 de la proximitat a la font i la capacitat de c貌mput, s'ha encunyat com a continu de la computaci贸 al n煤vol (o continu computacional). Aquesta tesi doctoral pret茅n, doncs, aplicar diferents estrat猫gies Serverless per permetre el desplegament d'aplicacions generalistes, empaquetades en contenidors de programari, a trav茅s dels diferents nivells del continu computacional. Per aix貌, s'han desenvolupat m煤ltiples eines per tal de: i) adaptar serveis FaaS de prove茂dors Cloud p煤blics; ii) integrar diferents components de programari per definir una plataforma Serverless en infraestructures privades i a la vora; iii) aprofitar dispositius d'acceleraci贸 a plataformes Serverless; i iv) facilitar el desplegament d'aplicacions i fluxos de treball mitjan莽ant interf铆cies d'usuari. A m茅s, s'han creat i s'han adaptat diversos casos d'煤s per avaluar els desenvolupaments aconseguits.[EN] In recent years, the popularity of Cloud computing has allowed users to access unprecedented compute, network, and storage resources under a pay-per-use model. This popularity led to new services to solve specific large-scale computing challenges and simplify the development and deployment of applications. Among the most prominent services in recent years are FaaS (Function as a Service) platforms, whose primary appeal is the ease of deploying small pieces of code in certain programming languages to perform specific tasks on an event-driven basis. These functions are executed on the Cloud provider's servers without users worrying about their maintenance or elasticity management, always keeping a fine-grained pay-per-use model. FaaS platforms belong to the computing paradigm known as Serverless, which aims to abstract the management of servers from the users, allowing them to focus their efforts solely on the development of applications. The problem with FaaS is that it focuses on microservices and tends to have limitations regarding the execution time and the computing capabilities (e.g. lack of support for acceleration hardware such as GPUs). However, it has been demonstrated that the self-provisioning capability and high degree of parallelism of these services can be well suited to broader applications. In addition, their inherent event-driven triggering makes functions perfectly suitable to be defined as steps in file processing workflows (e.g. scientific computing workflows). Furthermore, the rise of smart and embedded devices (IoT), innovations in communication networks and the need to reduce latency in challenging use cases have led to the concept of Edge computing. Edge computing consists of conducting the processing on devices close to the data sources to improve response times. The coupling of this paradigm together with Cloud computing, involving architectures with devices at different levels depending on their proximity to the source and their compute capability, has been coined as Cloud Computing Continuum (or Computing Continuum). Therefore, this PhD thesis aims to apply different Serverless strategies to enable the deployment of generalist applications, packaged in software containers, across the different tiers of the Cloud Computing Continuum. To this end, multiple tools have been developed in order to: i) adapt FaaS services from public Cloud providers; ii) integrate different software components to define a Serverless platform on on-premises and Edge infrastructures; iii) leverage acceleration devices on Serverless platforms; and iv) facilitate the deployment of applications and workflows through user interfaces. Additionally, several use cases have been created and adapted to assess the developments achieved.Risco Gallardo, S. (2023). Serverless Strategies and Tools in the Cloud Computing Continuum [Tesis doctoral]. Universitat Polit猫cnica de Val猫ncia. https://doi.org/10.4995/Thesis/10251/202013Compendi

    Plataforma Serverless H铆brida de Procesado de Datos

    Full text link
    [ES] El auge de la virtualizaci贸n en los 煤ltimos a帽os ha permitido que diversas compa帽铆as ofrezcan sus recursos inform谩ticos a trav茅s de Internet mediante un modelo de pago por uso, conocido como computaci贸n en la nube. La gran aceptaci贸n de este modelo, unida a los recientes avances en las tecnolog铆as de contenedores de software, han propiciado la aparici贸n del paradigma Serverless. Este paradigma permite ejecutar funciones sin que los usuarios tengan que preocuparse por la gesti贸n y escalado de la infraestructura subyacente. Sin embargo, las plataformas Serverless de los principales proveedores de computaci贸n en la nube tienen serias limitaciones que impiden su uso para procesar aplicaciones generales. Con el fin de evitar esas limitaciones, en este trabajo se ha colaborado con el grupo de Grid y Computaci贸n de Altas Prestaciones de la Universitat Polit猫cnica de Val猫ncia en el desarrollo de una plataforma Serverless. Esta plataforma puede ser desplegada sobre cualquier infraestructura de c贸mputo en la nube, ya sea p煤blica o privada. Para ello se han integrado diversas herramientas de c贸digo abierto junto a nuevos componentes desarrollados por el grupo. Complementada con un modelo de programaci贸n que permite invocar funciones ante la subida de ficheros a un sistema de almacenamiento externo, la plataforma desarrollada es capaz de procesar datos en entornos h铆bridos, es decir, donde el c贸mputo se realiza en una infraestructura y la persistencia de datos en otra. Finalmente, se han implementado dos casos de uso basados en c贸digo y datos abiertos para demostrar el funcionamiento y la potencia de la plataforma.[EN] The rise of virtualization in recent years has allowed companies to offer their computing resources over the Internet through a pay-per-use model known as cloud computing. The great acceptance of this model, together with recent advances in software container technologies, have led to the emergence of the Serverless paradigm. This paradigm allows functions to be executed without users having to worry about the management and scaling of the underlying infrastructure. However, the Serverless platforms of the main cloud computing providers have serious limitations that restrict their use to process general applications. In order to overcome these limitations, in this work there has been collaboration with the Grid and High Performance Computing group of the Universitat Polit猫cnica de Val猫ncia in the development of a Serverless platform. This platform can be deployed on any computing infrastructure in the cloud, either public or private. For this purpose, several open source tools have been integrated together with new components developed by the group. Complemented with a programming model that allows the invocation of functions when files are uploaded to an external storage system, the developed platform allows the processing of data in hybrid environments, that is, where computation is carried out in one infrastructure and data persistence in another. Finally, two use cases based on open source and open data have been implemented in order to demonstrate the operation and performance of the platform.Risco Gallardo, S. (2019). Plataforma Serverless H铆brida de Procesado de Datos. http://hdl.handle.net/10251/125892TFG
    corecore